Top 10k strings from ZZZ-UNK-SamGraphicsDemo (19xx)(-).tzx in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Demos / Sinclair ZX Spectrum - Demos - [TZX] (TOSEC-v2007-01-01) /

Back to the directory listing

   8 base3+lin*128
   8 M(base3+lin*128
   5 ;"MGT SAM Coup
   2 the brightness, contrast or height of the picture.:
   2 flicker a lot. The trick is to pick the right ones.
   2 but some hues are hard to distinguish and others may
   2 appears as MODE 4 (256 x 192) with many new colours.
   2 This interleaves two MODE 4 screens so that alternate
   2 The colours of interlaced lines blend, so the display
   2 TV or monitor frames come from different screens.:
   2 Set up default screen
   2 Set display output characteristics:
   2 OUT  (252),A:
   2 LUM(C) returns brightness or LUMINANCE of colour C
   2 8256 distinct colours are possible (128 * 128 - 8128
   2  shows 916 colours!"
   2  - 226 colours!"
   1 y=ybase-i*2
   1 y=ybase-29
   1 videoRAM=(1
   1 uses alternate display lines for each frame. Thus SAM
   1 tweak the display brightness, contrast or height.:
   1 the colours swap at the same time as the background.
   1 the 'main program' in SAM BASIC or any other language.:
   1 temp=b(j),b(j)=b(l),b(l)=temp
   1 temp=a(j),a(j)=a(l),a(l)=temp
   1 swaps) so there's plenty of scope for more research.:
   1 swaps) so there's plenty of scope for more research.
   1 start of each screen (to swap) and the start of each
   1 single screen, and no need to swap in BASIC. You can
   1 see this effect if you break into the FLIP1 loop. Type
   1 same time as the new colours. The Coup
   1 processor time for the main program, in SAM BASIC,
   1 pixels and twice as many lines as normal (albeit time
   1 per line, or 16 if each screen has an unique palette.
   1 paltab=&5600
   1 paltab,tabstart
   1 or 256 if each screen has an unique palette.:
   1 of either screen, showing thousands of new colours.:
   1 music, animation or scrolling of the 48K video map.:
   1 multiplexed at 25 Hertz). It should suit fractals!:
   1 machine code, or any other language.:
   1 luminance (brightness) values, in order of luminance.
   1 loop! Better code would link itself into the Coup
   1 line (to adjust the palette). This leaves remaining
   1 it shows over 2OO colours. It may help if you change
   1 it shows 38 lines of fairly readable text, assuming
   1 interrupts. SVAR 8, the flash rate, is set to 1 so
   1 in about 4OO T-states (maximum 1OO Z8O instructions),
   1 i,palC(i),palB(i)
   1 i,palB(i),palB(i)
   1 i,palB(i),palA(i)
   1 i,palA(i):
   1 i,palA(i),palC(i)
   1 i,palA(i),palA(i):
   1 i,j,n,d,count,temp
   1 giving 16 x 16 (- 12O swaps) = 136 colours per line,
   1 frame and line interrupts, leaving processor time for
   1 for each line, giving 4 x 4 (- 6 swaps) = 1O colours
   1 for animation and sound, running between interrupts as
   1 displays of 384 lines flicker more than TV pictures.:
   1 display can be seen as MODE 3 (512 x 192) with extra
   1 colours as you'll need 5O * 192 line interrupts and
   1 colour resolution, rather than extra lines.
   1 colour palette part-way down one screen, and FLASHING
   1 but most programmers should leave some time left over
   1 base2+lin*64
   1 base2+(295
   1 base2+(294
   1 base2+(170
   1 base1+lin*64
   1 base1+(295
   1 base1+(294
   1 base1+(170
   1 at once, using PALETTE LINE interrupts to change the
   1 are ideally suited for running small routines at the
   1 a(paltab):
   1 a resolution of 512 x 384. It may help if you change
   1 You need to press the BREAK button to interrupt this
   1 You may need assembly code to change four registers
   1 Video memory page (to suit MEM$, PEEK & POKE)
   1 Uses a Shell Sort - much faster than Bubble Sort!
   1 Use MODE 3 (or RUN then SCREEN 3) for neat tabulation.
   1 This way we can get thousands of colours on screen,
   1 This technique can be used to get new colours with a
   1 This swaps two screens with paper A & B at 50 Hertz
   1 This simulates 384 x 512 pixel resolution on a normal
   1 This demo swaps two MODE 4 screens 5O times a second -
   1 This demo swaps two MODE 3 screens 5O times a second -
   1 This demo emulates a horizontal resolution of 512
   1 This demo displays 1 (black) +225 (AB) +225 (BC) +225
   1 This SAM BASIC demo puts over 900 colours on screen
   1 Theoretically we could display 3O72 colours at once,
   1 The demo swaps two MODE 4 screens 5O times a second -
   1 The colours of interlaced lines tend to blend, so the
   1 The PAUSE 1 soaks up spare time between frames.:
   1 The PAUSE 1 soaks up spare time between frames.
   1 TV or monitor. However the Coup
   1 Sorts corresponding A and B to ascending order of A
   1 Set FLASH to top speed
   1 See Burtiss AT, Data Structures Theory and practice
   1 SHOW16y ybase
   1 SHOW16X ybase
   1 SAM Demo Copyright 199O by Simon N Goodwin, 19/3/9O.
   1 SAM Demo Copyright 199O by Simon N Goodwin, 17/3/9O.
   1 Palette interrupt table, 4 bytes/line, 255 @ end.
   1 PALETTE to restore the standard palette settings.:
   1 PALETTE interrupts
   1 PALETTE commands can change the colours on every line
   1 PALETTE commands can be used to change the colours
   1 PALETTE changes to swap between two sets of palette
   1 PACK$(N,W) -> STR$(N) packed with spaces to width W
   1 Or try FLIP2 - press BREAK button to stop it!:
   1 Machine code would allow animation and sound at the
   1 MODE4*4 - 256 x 192 resolution, 226 colours anywhere
   1 MODE 916 - 256 x 192 resolution, 586 colours at once
   1 MODE 916       
   1 MODE 4*4       
   1 MODE 3+3 - 512 x 384 resolution, or 8256 colours!
   1 MODE 3+3       
   1 LUMTAB displays a table of standard SAM colours and
   1 LOAD the other SAM files in this set for new colours.:
   1 LD   A,PAGE2:
   1 LD   A,PAGE1:
   1 JR   LOOP:
   1 It may be easier to see if you dim the lights and
   1 I build displays in MODE 3, SCREEN 3 and copy them:    into SCREEN 1 and SCREEN 2 alternately for MODE 3+3.:
   1 FN VideoRAM returns the start address of the
   1 FLIP2 uses a machine-code loop::LOOP
   1 FLIP1 uses SAM BASIC to swap between two screens.
   1 FLIP1 uses SAM BASIC to swap between screens.
   1 Demo Copyright 199O by Simon N Goodwin - 22/2/9O.
   1 DATA for the palette set-up, chosen by experiment
   1 CPU power may run short as you get close to 3OOO
   1 COLTAB gives the luminance of each of the 128 colours.
   1 COLTAB 3 or LUMTAB 3 give printout to channel #3, etc.:
   1 Allow about 25 seconds for calculations and sorting.
   1 Allow 192 x 256 plot & 19 x 64 text:
   1 A, B & C from 45 matched colours in the standard 127.:
   1 ;"Sorting..."
   1 5O identical frames a second, whereas 'interlaced' TV
   1 38,4OO palette changes per second! (5O * 192 * 4):
   1 2nd Ed., Academic Press, New York, 1975, p 464-465
   1 ,tabstart=
   1 ,tabstart:
   1 ,page2,211
   1 ,page1,211
   1 ,"Setting up screens - please wait.":
   1 ),lums(128
   1 (lums(i+96
   1 (lums(i+64
   1 (lums(i+32
   1 (lums(i),6
   1 (i),cols(i+1
   1 (cols(i+96
   1 (cols(i+64
   1 (cols(i+32
   1 (cols(i),10
   1 (AC) +120 (AA) +120 (BB) colours, using pairs of 15
   1 #ch;'"SAM Luminance to Colour conversion table, 17/3/90"
   1 #ch;'"SAM Colour to Luminance conversion table, 17/3/90"
   1 #ch;'"LUM   COL       LUM   COL       LUM   COL       LUM   COL"
   1 #ch;'"COL   LUM       COL   LUM       COL   LUM       COL   LUM"
   1 "Otherwise: if D>1, D:= 2 ^ (LN(n-1) DIV LN(2))-1"
   1  lums(),cols()
   1  is designed to send
   1  interrupts
   1  can change colours on every line
   1  Standard Colours"
   1  1990 SNG - displays 128 standard colours at once